package com.diyizu.youdianda.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.diyizu.youdianda.dto.SysMenuDto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 角色表
 */
@Data
public class SysRole {
    @TableId(type = IdType.ASSIGN_ID)   //为这个ID利用雪花算法进行赋值
    private String id;
    //角色名称
    private String name;
    //角色描述
    private String description;
    //创建时间
    @TableField(fill = FieldFill.INSERT)
    @JsonProperty("create_date")    //前端传递属性名
    private LocalDateTime createDate;
    //更新时间
    @TableField(fill = FieldFill.UPDATE)
    @JsonProperty("update_date")    //前端传递属性名
    private LocalDateTime updateDate;
    //备注信息
    private String remarks;
    //删除标记：0未删除，1删除
    @TableLogic(value = "0", delval = "1")
    @JsonProperty("del_flag")   //前端传递属性名
    private String delFlag;
    //是否为超级管理员
    private Integer superadmin;
    //是否为默认数据 null不是 1是
    @JsonProperty("default_data")   //前端传递属性名
    private String defaultData;

    //该字段并不存在于数据库中，只是映射前端传递过来的属性
    @TableField(exist = false)
    private List<SysMenuDto> authList;
}
